package com.shine.icis.hbean;

import java.io.Serializable;
import java.text.DecimalFormat;

import com.shine.icis.util.Tools;

public class SettleAmtDetail implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 3662405149335236166L;
	
	private DecimalFormat doubleFormat = new DecimalFormat("##,##0.00");
	private int clearDate ;//清算日期
	private int settleDate;//交收日期
	private double shClearAmt;//上海买卖差
	private double shBonusAmt;//上海红利
	private double shClearBonusAmt;//上海买卖差+红利
	private double shStampTax;//上海印花税
	private double shTransferFee;//上海过户费
	private double shTransactFee;//上海经手费
	private double shSupFee;//上海证管费
	private double shTransactSupFee;//上海经手费+证管费
	private double shAccountsFee;//上海开户费
	private double shComm;//上海手续费
	private double shOtherAmt;//上海其他费用
	private double shVentureFund;//上海风险基金
	private double shSdcCommAmt;//上海一级费用
	private double shSettleAmt;//上海应交收金额
	private double szClearAmt;//深圳买卖差
	private double szBonusAmt;//深圳红利
	private double szClearBonusAmt;//深圳买卖差+红利
	private double szStampTax;//深圳印花税
	private double szTransferFee;//深圳过户费
	private double szTransactFee;//深圳经手费
	private double szSupFee;//深圳证管费
	private double szTransactSupFee;//深圳经手费+证管费
	private double szAccountsFee;//深圳开户费
	private double szComm;//深圳手续费
	private double szOtherAmt;//深圳其他费用
	private double szVentureFund;//深圳风险基金
	private double szSdcCommAmt;//深圳一级费用
	private double szSettleAmt;//深圳应交收金额
	private double sqtClearAmt;//三板买卖差
	private double sqtBonusAmt;//三板红利
	private double sqtClearBonusAmt;//三板买卖差+红利
	private double sqtStampTax;//三板印花税
	private double sqtTransferFee;//三板过户费
	private double sqtTransactFee;//三板经手费
	private double sqtSupFee;//三板证管费
	private double sqtTransactSupFee;//三板经手费+证管费
	private double sqtAccountsFee;//三板开户费
	private double sqtComm;//三板手续费
	private double sqtOtherAmt;//三板其他费用
	private double sqtVentureFund;//三板风险基金
	private double sqtSdcCommAmt;//三板一级费用
	private double sqtSettleAmt;//三板应交收金额
	private double szCBTransactSupFee;//深圳A股公司债经手费+证管费
	private int operDate;//操作日期
	private int operTime;//操作时间
	private String note;//备注
	
	public int getClearDate() {
		return clearDate;
	}
	public void setClearDate(int clearDate) {
		this.clearDate = clearDate;
	}
	public int getSettleDate() {
		return settleDate;
	}
	public void setSettleDate(int settleDate) {
		this.settleDate = settleDate;
	}
	//上海买卖差
	public double getShClearAmt() {
		return shClearAmt;
	}
	public String getShClearAmtText() {
		return doubleFormat.format(shClearAmt);
	}
	public void setShClearAmt(double shClearAmt) {
		this.shClearAmt = shClearAmt;
	}
	//上海红利
	public double getShBonusAmt() {
		return shBonusAmt;
	}
	public String getShBonusAmtText() {
		return doubleFormat.format(shBonusAmt);
	}
	public void setShBonusAmt(double shBonusAmt) {
		this.shBonusAmt = shBonusAmt;
	}
	//上海买卖差+红利
	public double getShClearBonusAmt() {
		return shClearBonusAmt;
	}
	public String getShClearBonusAmtText() {
		return doubleFormat.format(shClearBonusAmt);
	}
	public void setShClearBonusAmt(double shClearBonusAmt) {
		this.shClearBonusAmt = shClearBonusAmt;
	}
	//上海印花税
	public double getShStampTax() {
		return shStampTax;
	}
	public String getShStampTaxText() {
		return doubleFormat.format(shStampTax);
	}
	public void setShStampTax(double shStampTax) {
		this.shStampTax = shStampTax;
	}
	//上海过户费
	public double getShTransferFee() {
		return shTransferFee;
	}
	public String getShTransferFeeText() {
		return doubleFormat.format(shTransferFee);
	}
	public void setShTransferFee(double shTransferFee) {
		this.shTransferFee = shTransferFee;
	}
	//上海经手费
	public double getShTransactFee() {
		return shTransactFee;
	}
	public String getShTransactFeeText() {
		return doubleFormat.format(shTransactFee);
	}
	public void setShTransactFee(double shTransactFee) {
		this.shTransactFee = shTransactFee;
	}
	//上海证管费
	public double getShSupFee() {
		return shSupFee;
	}
	public String getShSupFeeText() {
		return doubleFormat.format(shSupFee);
	}
	public void setShSupFee(double shSupFee) {
		this.shSupFee = shSupFee;
	}
	//上海经手费+证管费
	public double getShTransactSupFee() {
		return shTransactSupFee;
	}
	public String getShTransactSupFeeText() {
		return doubleFormat.format(shTransactSupFee);
	}
	public void setShTransactSupFee(double shTransactSupFee) {
		this.shTransactSupFee = shTransactSupFee;
	}
	//上海开户费
	public double getShAccountsFee() {
		return shAccountsFee;
	}
	public String getShAccountsFeeText() {
		return doubleFormat.format(shAccountsFee);
	}
	public void setShAccountsFee(double shAccountsFee) {
		this.shAccountsFee = shAccountsFee;
	}
	//上海手续费
	public double getShComm() {
		return shComm;
	}
	public String getShCommText() {
		return doubleFormat.format(shComm);
	}
	public void setShComm(double shComm) {
		this.shComm = shComm;
	}
	//上海其他费用
	public double getShOtherAmt() {
		return shOtherAmt;
	}
	public String getShOtherAmtText() {
		return doubleFormat.format(shOtherAmt);
	}
	public void setShOtherAmt(double shOtherAmt) {
		this.shOtherAmt = shOtherAmt;
	}
	//上海风险基金
	public double getShVentureFund() {
		return shVentureFund;
	}
	public String getShVentureFundText() {
		return doubleFormat.format(shVentureFund);
	}
	public void setShVentureFund(double shVentureFund) {
		this.shVentureFund = shVentureFund;
	}
	//上海一级费用
	public double getShSdcCommAmt() {
		return shSdcCommAmt;
	}
	public String getShSdcCommAmtText() {
		return doubleFormat.format(shSdcCommAmt);
	}
	public void setShSdcCommAmt(double shSdcCommAmt) {
		this.shSdcCommAmt = shSdcCommAmt;
	}
	//上海应交收金额
	public double getShSettleAmt() {
		return shSettleAmt;
	}
	public String getShSettleAmtText() {
		return doubleFormat.format(shSettleAmt);
	}
	public void setShSettleAmt(double shSettleAmt) {
		this.shSettleAmt = shSettleAmt;
	}
	//深圳买卖差
		public double getSzClearAmt() {
			return szClearAmt;
		}
		public String getSzClearAmtText() {
			return doubleFormat.format(szClearAmt);
		}
		public void setSzClearAmt(double szClearAmt) {
			this.szClearAmt = szClearAmt;
		}
		//深圳红利
		public double getSzBonusAmt() {
			return szBonusAmt;
		}
		public String getSzBonusAmtText() {
			return doubleFormat.format(szBonusAmt);
		}
		public void setSzBonusAmt(double szBonusAmt) {
			this.szBonusAmt = szBonusAmt;
		}
		//深圳买卖差+红利
		public double getSzClearBonusAmt() {
			return szClearBonusAmt;
		}
		public String getSzClearBonusAmtText() {
			return doubleFormat.format(szClearBonusAmt);
		}
		public void setSzClearBonusAmt(double szClearBonusAmt) {
			this.szClearBonusAmt = szClearBonusAmt;
		}
		//深圳印花税
		public double getSzStampTax() {
			return szStampTax;
		}
		public String getSzStampTaxText() {
			return doubleFormat.format(szStampTax);
		}
		public void setSzStampTax(double szStampTax) {
			this.szStampTax = szStampTax;
		}
		//深圳过户费
		public double getSzTransferFee() {
			return szTransferFee;
		}
		public String getSzTransferFeeText() {
			return doubleFormat.format(szTransferFee);
		}
		public void setSzTransferFee(double szTransferFee) {
			this.szTransferFee = szTransferFee;
		}
		//深圳经手费
		public double getSzTransactFee() {
			return szTransactFee;
		}
		public String getSzTransactFeeText() {
			return doubleFormat.format(szTransactFee);
		}
		public void setSzTransactFee(double szTransactFee) {
			this.szTransactFee = szTransactFee;
		}
		//深圳证管费
		public double getSzSupFee() {
			return szSupFee;
		}
		public String getSzSupFeeText() {
			return doubleFormat.format(szSupFee);
		}
		public void setSzSupFee(double szSupFee) {
			this.szSupFee = szSupFee;
		}
		//深圳经手费+证管费
		public double getSzTransactSupFee() {
			return szTransactSupFee;
		}
		public String getSzTransactSupFeeText() {
			return doubleFormat.format(szTransactSupFee);
		}
		public void setSzTransactSupFee(double szTransactSupFee) {
			this.szTransactSupFee = szTransactSupFee;
		}
		//深圳开户费
		public double getSzAccountsFee() {
			return szAccountsFee;
		}
		public String getSzAccountsFeeText() {
			return doubleFormat.format(szAccountsFee);
		}
		public void setSzAccountsFee(double szAccountsFee) {
			this.szAccountsFee = szAccountsFee;
		}
		//深圳手续费
		public double getSzComm() {
			return szComm;
		}
		public String getSzCommText() {
			return doubleFormat.format(szComm);
		}
		public void setSzComm(double szComm) {
			this.szComm = szComm;
		}
		//深圳其他费用
		public double getSzOtherAmt() {
			return szOtherAmt;
		}
		public String getSzOtherAmtText() {
			return doubleFormat.format(szOtherAmt);
		}
		public void setSzOtherAmt(double szOtherAmt) {
			this.szOtherAmt = szOtherAmt;
		}
		//深圳风险基金
		public double getSzVentureFund() {
			return szVentureFund;
		}
		public String getSzVentureFundText() {
			return doubleFormat.format(szVentureFund);
		}
		public void setSzVentureFund(double szVentureFund) {
			this.szVentureFund = szVentureFund;
		}
		//深圳一级费用
		public double getSzSdcCommAmt() {
			return szSdcCommAmt;
		}
		public String getSzSdcCommAmtText() {
			return doubleFormat.format(szSdcCommAmt);
		}
		public void setSzSdcCommAmt(double szSdcCommAmt) {
			this.szSdcCommAmt = szSdcCommAmt;
		}
		//深圳应交收金额
		public double getSzSettleAmt() {
			return szSettleAmt;
		}
		public String getSzSettleAmtText() {
			return doubleFormat.format(szSettleAmt);
		}
		public void setSzSettleAmt(double szSettleAmt) {
			this.szSettleAmt = szSettleAmt;
		}
		//三板买卖差
		public double getSqtClearAmt() {
			return sqtClearAmt;
		}
		public String getSqtClearAmtText() {
			return doubleFormat.format(sqtClearAmt);
		}
		public void setSqtClearAmt(double sqtClearAmt) {
			this.sqtClearAmt = sqtClearAmt;
		}
		//三板红利
		public double getSqtBonusAmt() {
			return sqtBonusAmt;
		}
		public String getSqtBonusAmtText() {
			return doubleFormat.format(sqtBonusAmt);
		}
		public void setSqtBonusAmt(double sqtBonusAmt) {
			this.sqtBonusAmt = sqtBonusAmt;
		}
		//三板买卖差+红利
		public double getSqtClearBonusAmt() {
			return sqtClearBonusAmt;
		}
		public String getSqtClearBonusAmtText() {
			return doubleFormat.format(sqtClearBonusAmt);
		}
		public void setSqtClearBonusAmt(double sqtClearBonusAmt) {
			this.sqtClearBonusAmt = sqtClearBonusAmt;
		}
		//三板印花税
		public double getSqtStampTax() {
			return sqtStampTax;
		}
		public String getSqtStampTaxText() {
			return doubleFormat.format(sqtStampTax);
		}
		public void setSqtStampTax(double sqtStampTax) {
			this.sqtStampTax = sqtStampTax;
		}
		//三板过户费
		public double getSqtTransferFee() {
			return sqtTransferFee;
		}
		public String getSqtTransferFeeText() {
			return doubleFormat.format(sqtTransferFee);
		}
		public void setSqtTransferFee(double sqtTransferFee) {
			this.sqtTransferFee = sqtTransferFee;
		}
		//三板经手费
		public double getSqtTransactFee() {
			return sqtTransactFee;
		}
		public String getSqtTransactFeeText() {
			return doubleFormat.format(sqtTransactFee);
		}
		public void setSqtTransactFee(double sqtTransactFee) {
			this.sqtTransactFee = sqtTransactFee;
		}
		//三板证管费
		public double getSqtSupFee() {
			return sqtSupFee;
		}
		public String getSqtSupFeeText() {
			return doubleFormat.format(sqtSupFee);
		}
		public void setSqtSupFee(double sqtSupFee) {
			this.sqtSupFee = sqtSupFee;
		}
		//三板经手费+证管费
		public double getSqtTransactSupFee() {
			return sqtTransactSupFee;
		}
		public String getSqtTransactSupFeeText() {
			return doubleFormat.format(sqtTransactSupFee);
		}
		public void setSqtTransactSupFee(double sqtTransactSupFee) {
			this.sqtTransactSupFee = sqtTransactSupFee;
		}
		//三板开户费
		public double getSqtAccountsFee() {
			return sqtAccountsFee;
		}
		public String getSqtAccountsFeeText() {
			return doubleFormat.format(sqtAccountsFee);
		}
		public void setSqtAccountsFee(double sqtAccountsFee) {
			this.sqtAccountsFee = sqtAccountsFee;
		}
		//三板手续费
		public double getSqtComm() {
			return sqtComm;
		}
		public String getSqtCommText() {
			return doubleFormat.format(sqtComm);
		}
		public void setSqtComm(double sqtComm) {
			this.sqtComm = sqtComm;
		}
		//三板其他费用
		public double getSqtOtherAmt() {
			return sqtOtherAmt;
		}
		public String getSqtOtherAmtText() {
			return doubleFormat.format(sqtOtherAmt);
		}
		public void setSqtOtherAmt(double sqtOtherAmt) {
			this.sqtOtherAmt = sqtOtherAmt;
		}
		//三板风险基金
		public double getSqtVentureFund() {
			return sqtVentureFund;
		}
		public String getSqtVentureFundText() {
			return doubleFormat.format(sqtVentureFund);
		}
		public void setSqtVentureFund(double sqtVentureFund) {
			this.sqtVentureFund = sqtVentureFund;
		}
		//三板一级费用
		public double getSqtSdcCommAmt() {
			return sqtSdcCommAmt;
		}
		public String getSqtSdcCommAmtText() {
			return doubleFormat.format(sqtSdcCommAmt);
		}
		public void setSqtSdcCommAmt(double sqtSdcCommAmt) {
			this.sqtSdcCommAmt = sqtSdcCommAmt;
		}
		//三板应交收金额
		public double getSqtSettleAmt() {
			return sqtSettleAmt;
		}
		public String getSqtSettleAmtText() {
			return doubleFormat.format(sqtSettleAmt);
		}
		public void setSqtSettleAmt(double sqtSettleAmt) {
			this.sqtSettleAmt = sqtSettleAmt;
		}
	//深圳A股公司债经手费+证管费
		public double getSzCBTransactSupFee() {
			return szCBTransactSupFee;
		}
		public String getSzCBTransactSupFeeText() {
			return doubleFormat.format(szCBTransactSupFee);
		}
		public void setSzCBTransactSupFee(double szCBTransactSupFee) {
			this.szCBTransactSupFee = szCBTransactSupFee;
		}
		
	//上海A股+深圳A股：一级费用
	public String getShSzSdcCommAmtText(){
		return doubleFormat.format(shSdcCommAmt+szSdcCommAmt);
	}
	//上海A股+深圳A股：应交收金额
	public String getShSzSettleAmtText(){
		return doubleFormat.format(shSettleAmt+szSettleAmt);
	}
	//深圳A股+三板：经手费+证管费
	public String getSzSqtTransactSupFeeText(){
		return doubleFormat.format(szTransactSupFee+sqtTransactSupFee);
	}
	//深圳A股+三板：一级费用
	public String getSzSqtSdcCommAmtText(){
		return doubleFormat.format(szSdcCommAmt+sqtSdcCommAmt);
	}
	//深圳A股+三板：应交收金额
	public String getSzSqtSettleAmtText(){
		return doubleFormat.format(szSettleAmt+sqtSettleAmt);
	}
	public int getOperDate() {
		return operDate;
	}
	public void setOperDate(int operDate) {
		this.operDate = operDate;
	}
	public int getOperTime() {
		return operTime;
	}
	public void setOperTime(int operTime) {
		this.operTime = operTime;
	}
	public String getNote() {
		return note;
	}
	public void setNote(String note) {
		this.note = note;
	}
	public String getFormatOperTime() {
		StringBuffer sb = new StringBuffer();
		sb.append(operDate);
		if (sb.length() != 8) {
			return "";
		}
		sb.insert(6, "-").insert(4, "-");
		//121200 -> 12:12:00
		StringBuffer sbt = new StringBuffer();
		sbt.append(Tools.getFixedNum(operTime, 6));
		sbt.insert(4, ":").insert(2, ":").toString();
		
		return sb.append(" ").append(sbt).toString();
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + clearDate;
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		final SettleAmtDetail other = (SettleAmtDetail) obj;
		if (clearDate != other.clearDate)
			return false;
		return true;
	}
	
	
}
